<?php
namespace app\common\business;

use app\common\lib\sms\AliSms;
use app\common\lib\Num;
use app\common\lib\ClassArr;
class Sms{
	/**
	 * 发送验证码
	 */
	public static function sendCode($phoneNumber,$len = 4,$type = 'ali'){
		// 生成短信验证码
		$code = Num::getCode($len);
		
		// 发送短信
		//$res = AliSms::sendCode($phoneNumber,$code);

		// 工厂模式
		/*
		$type = ucfirst($type);
		$class = "app\common\lib\sms\\".$type."Sms";
		$res = $class::sendCode($phoneNumber,$code);
		*/

		// 获取发送短信类库
		$classStat = ClassArr::smsClassStat();
		// 获取类或对象
		$classObj = ClassArr::initClass($type,$classStat);
		//halt($classObj);
		$res = $classObj::sendCode($phoneNumber,$code);
		if($res){
			//把短信验证码存放到redis中
			cache(
				config("redis.code_pre").$phoneNumber,
				$code,
				config("redis.code_expire")
			);
		}
		return true;
	}
}